# populate_test_data.py
import sys
import os
from datetime import datetime, timedelta

sys.path.append(os.path.dirname(os.path.abspath(__file__)))

from app import create_app, db
from models.models import RawNews, ProcessedNews

def populate_test_data():
    """填充测试数据"""
    app = create_app()

    with app.app_context():
        # 清空现有数据
        ProcessedNews.query.delete()
        RawNews.query.delete()
        db.session.commit()

        # 添加测试的原始新闻
        raw_news_list = [
            RawNews(
                title="华为发布新款智能手机",
                content="华为技术有限公司今日发布了全新的智能手机系列，该产品采用了最新的芯片技术。华为新款手机搭载了自研的麒麟芯片，性能相比上一代提升了30%。该手机还支持5G网络，预计将在下月正式上市。",
                source_url="http://example.com/news1",
                publish_date=datetime.utcnow() - timedelta(days=1),
                processed=False
            ),
            RawNews(
                title="特斯拉推出新车型",
                content="特斯拉公司推出了全新的电动汽车车型，该车型具有更长的续航里程。新款车型采用最新的电池技术，单次充电可行驶超过600公里。此外，车辆还配备了全新的自动驾驶系统。",
                source_url="http://example.com/news2",
                publish_date=datetime.utcnow() - timedelta(hours=2),
                processed=False
            ),
            RawNews(
                title="比亚迪新能源车销量创新高",
                content="比亚迪汽车公布的最新销量数据显示，其新能源汽车销量再创新高。今年第三季度，比亚迪新能源汽车销量达到50万辆，同比增长了120%。这一成绩使得比亚迪在全球新能源汽车市场中占据了领先地位。",
                source_url="http://example.com/news3",
                publish_date=datetime.utcnow() - timedelta(days=3),
                processed=False  # 改为未处理，让系统处理
            ),
            # 添加更多测试新闻
            RawNews(
                title="FF宣布FX Super One在美国加州汉福德工厂启动试制生产阶段",
                content="""京时间8月1日—总部位于美国加州的全球共享智能电动出行生态公司Faraday Future Intelligent Electric Inc.（纳斯达克代码：FFAI，以下简称"Faraday Future"或"FF"或“公司”）今日宣布，第二品牌FX最新发布的First Class EAI-MPV车型FX Super One已于美国加州汉福德制造基地正式进入试制阶段。
    本次试制阶段重点聚焦于验证生产工艺流程、优化作业规范及确立质量管控体系。同期，汉福德基地的工程技术人员与生产团队正接受专项技能培训，为后续正式生产做好充分准备。
    公司同时也在全面开展整车工程验证与测试，涵盖综合安全测试与性能验证等关键环节，旨在确保FX Super One在品质、性能、安全性及用户体验等方面均达到行业最高标准。
    FX Super One于7月17日在洛杉矶首次公开发布，并同步揭幕了超级智脸系统（ Super EAI F.A.C.E. ）及 FF-EAI 具身智能体6X4技术架构。该车型定位为新一代EAI-MPV，致力于重新定义长期由凯迪拉克凯雷德等传统车型主导的大空间、豪华出行市场。""",
                source_url="http://example.com/news4",
                publish_date=datetime.utcnow() - timedelta(days=4),
                processed=False  # 改为未处理，让系统处理
            )
        ]

        db.session.add_all(raw_news_list)
        db.session.commit()

        print("测试数据填充完成！")
        print(f"添加了 {len(raw_news_list)} 条原始新闻")
        print("所有新闻都未处理，等待系统处理...")

        # 显示添加的原始新闻信息
        for i, news in enumerate(raw_news_list, 1):
            print(f"  {i}. 标题: {news.title}")
            print(f"     状态: {'已处理' if news.processed else '未处理'}")
            print(f"     ID: {news.id}")
            print()

        # 模拟触发处理任务（在实际应用中，这会由Celery worker处理）
        print("正在模拟触发新闻处理任务...")
        print("注意：在实际部署中，Celery worker会自动处理这些未处理的新闻。")
        print("您需要启动Celery worker来实际处理这些新闻。")

        # 显示如何手动触发处理的说明
        print("\n要手动处理这些新闻，您可以：")
        print("1. 启动Celery worker: celery -A celery_worker worker --loglevel=info")
        print("2. 或者在开发环境中手动调用处理函数")

if __name__ == '__main__':
    populate_test_data()
